iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
AI & Data

深度學習-TensorFlow系列 第 23

DAY23-訓練Iris資料集(下)

  • 分享至 

  • xImage
  •  

今天我繼續來跟大家介紹訓練Iris資料集後半段的程式碼以及心得~
/images/emoticon/emoticon06.gif

程式碼:

訓練部分:

https://ithelp.ithome.com.tw/upload/images/20231008/201629820ALPExsqdD.png
#數據集級別的循環,每個epoch循環一次數據集。

#計算loss對各個參數的梯度
grads = tape.gradient(loss, [w1, b1])

#實現梯度更新 w1 = w1 -lr * w1_grad b = b -lr * b_grad
w1.assign_sub(lr * grads[0]) #參數w1自更新
b1.assign_sub(lr * grads[1]) #參數b自更新

https://ithelp.ithome.com.tw/upload/images/20231008/20162982JM3d1yLI1N.png

執行結果:

https://ithelp.ithome.com.tw/upload/images/20231008/20162982WDwJMowD7u.png

測試部分:

https://ithelp.ithome.com.tw/upload/images/20231008/20162982HW7y08dIdS.png
total_correct為預測對的樣本個數, total_number為測試的總樣本個數,將這兩個變量都初始化為0

執行結果:

https://ithelp.ithome.com.tw/upload/images/20231008/20162982zQ7VAJo1lm.png

額外:

https://ithelp.ithome.com.tw/upload/images/20231008/20162982dADaUFD1b2.png
繪製loss曲線

https://ithelp.ithome.com.tw/upload/images/20231008/20162982g0Hz0Wv4yh.png
繪製Accuracy曲線

https://ithelp.ithome.com.tw/upload/images/20231008/20162982kzfXI4vfKe.png
(之所以lossaccuracy圖都呈現空白,是因為在使用TensorFlow來訓練模型時,通常會再搭配使用TensorBoard來紀錄和可視化這些指數,但今天我們只是要測試是否可以正常訓練Iris的資料集加能夠繪製圖表而已,所以就沒有使用到TensorBoard相關的語法)
https://ithelp.ithome.com.tw/upload/images/20231008/20162982Juye6HQ7AH.png

心得 :
這次跟著文章動手操作訓練Iris的資料集其實蠻有趣的,但過程中也碰到很多困難。比如說一開始有部分語法不太正確,導致持續報錯耗費很多時間;後面繪製圖表結果呈現空白時,那時候也讓我很訝異以為是做錯了,後來經過上網找尋答案,才知道原來教學文章的程式碼裡只教我們如何正常訓練iris資料集加繪製圖表,但是卻缺少使用TensorBoard的相關語法,但沒關係這次也算是一次不錯的學習經驗。


上一篇
DAY22-訓練Iris資料集(上)
下一篇
DAY24-TensorBoard
系列文
深度學習-TensorFlow30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言